/**
 * 给 fns 中所有的 函数 添加一个 nsname，格式形如：nsname + 函数.name
 * @param {String} nsname 命名空间模块名（带斜杠/）
 * @param {Object | Array} fns 函数集合
 * @returns fns
 */
export default (nsname = '', fns) => {
  for (const fn of Object.values(fns)) {
    // continue 结束当前循环，开始下一轮循环
    // if (typeof fn !== 'function') continue
    if (typeof fn === 'function') {
      fn.nsname = nsname + fn.name
    }
  }
  return fns
}

// fns 支持如下两种格式：

// {
//   fn1() {},
//   fn2: () => {},
//   fn3: function () {},
// }

// [function () {}, () => {}, function fn3() {}]
